<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- 引入Vue -->
    <script src="../js/vue.js"></script>
    <title>08_Vue.set()的使用</title>
</head>
<body>
    
    <!-- 
             
     -->


    <!-- 容器 -->
    <div id="root">
        <h2>学校信息</h2>
       <h2>学校{{school}}</h2>
       <h2>地址{{address}}</h2>
       <hr>
       <h2>学生信息</h2>
       <button @click.once="addSex">点击添加性别，默认为男</button>
       <h2>学生姓名：{{student.name}}</h2>
       <h2 v-if="student.sex">性别：{{student.sex}}</h2>
       <h2>学生年龄:真实{{student.age.rAge}},对外：{{student.age.sAge}}</h2>
       <hr>
       <h2>朋友们</h2>
       <ul>
        <li v-for="(f,index) in student.friends" :key="index">
            <div>朋友姓名：{{f.name}}</div>
            <div>朋友年龄{{f.age}}</div>
        </li>
      </ul>

    </div>

    <script type="text/javascript">
       Vue.config.productionTip=false; // 阻止 vue 在启动时生成生产提示。

      
       // 用 computed 实现
       const vm= new Vue({
            el:'#root',
            data:{
                school:'北京大学',
                address:'北京市海淀区颐和园路5号',
                student:{
                    name:'tom',
                    age:{
                        rAge:41,
                        sAge:30,
                    },
                    friends:[
                        {name:'jerry',age:35},
                        {name:'tony',age:36},
                    ]
                }
            },
            methods:{
                addSex(){
                    // 向student对象中新增一个 sex 属性，值为 男
                    // Vue.set(this.student,'sex','男')
                    this.$set(this.student,'sex','男')
                }
            }
            
            
        })
       
    </script>
</body>
</html>